Leap Motion是面向PC以及Mac的
体感控制器制造公司Leap于2013年2月27日发布的体感控制器,5月13日正式上市,随后于5月19日在美国零售商
百思买独家售卖。2013年7月22日发布的新版Leap Motion已经开始派送,新版的Leap Motion将具有更高的软硬件结合能力。
发展
面向PC以及Mac的
体感控制器制造公司Leap于2013年2月27日宣布,公司旗下产品Leap Motion体感控制器将于5月13日正式上市,随后于5月19日在美国零售商
百思买独家售卖。2013年7月22日,新版Leap Motion已经开始派送,新版的Leap Motion将具有更高的软硬件结合能力。
LeapMotion官网仍旧继续接受美国以及全球其他地区消费者的订单,不过价格将由此前的69.99美元,上涨到79.99美元,约合人民币500元。在2月27日前进行预订的用户,价格依旧是69.99美元。
Leap Motion体感控制器支持Windows 7、Windows 8以及Mac OS X 10.7及10.8,该设备功能类似Kinect,可以在PC及Mac上通过手势控制电脑。
该公司也为其发布了名为Airspace的应用程序商店,其中包括游戏、音乐、教育、艺术等分类。
已经有包括迪斯尼、Autodesk、Google在内的公司均已宣称部分旗下软件游戏支持Leap Motion,其中包括
赛车游戏《Wreck-It Ralph: Sugar Rush Speedway》、Autodesk的Maya插件、Google Earth、Cut the Rope(切绳子),以及其他应用,另外流行的事件管理器Clear Mac版同样支持Leap Motion体感动作操控。
功能
Leap Motion 控制器不会替代您的键盘、鼠标、手写笔或触控板,相反,它与它们协同工作。当 Leap Motion 软件运行时,只需将它插入您的 Mac 或 PC 中,一切即准备就绪。
只需挥动一只手指即可浏览网页、阅读文章、翻看照片,还有播放音乐。即使不使用任何画笔或笔刷,用您的指尖即可以绘画,涂鸦和设计。
用您的手指即可切水果、打坏蛋;用您的双手即可飙赛车,打飞机。
您可以在3D空间进行雕刻、浇铸、拉伸、弯曲以及构建3D图像,还可以把他们拆开以及再次拼接。
体验一种全新的学习方式,用您的双手探索宇宙,触摸星星,还可以围绕太阳翱翔。。
一种全新的乐器体验,弹奏空气吉他、空气竖琴和空中的一切乐器,还可以体验全新的采摘和拾起方式。
您与电脑间的开阔空间,现已成为您双手和手指的舞台。不论它们的每一次移动多么细微,又或是多么大幅度,Leap Motion 控制器都能精确追踪。从技术上说,这是一个 8 立方英尺的可交互式 3D 空间。但您可以说,这就是魔法。
您的一只手,有 29 块骨头、29 个关节、123 根韧带、48 条神经和 30 条动脉。这是一种精密、复杂和令人惊叹的技术(x 2)。但您却能不费吹灰之力,轻松掌握。Leap Motion 控制器也几乎完全掌握这一技术。
Leap Motion 控制器可追踪全部 10 只手指,精度高达 1/100 毫米。它远比现有的运动控制技术更为精确。这就是您可以在一英尺宽的立方体中,绘制出迷你杰作的原因。
150°超宽幅的空间视场,您可以像您在真实世界一样随意在3D的空间移动您的双手。在 Leap Motion 应用中,您可以伸手抓住物体,移动它们,甚至可以更改您的视角。
Leap Motion 控制器以超过每秒 200 帧的速度追踪您的手部移动,这就是屏幕上的动作与您的每次移动完美同步的原因。
硬件介绍
开发者已经率先拿到了开发版。
这是FedEx的完整包装。最上面粘贴的塑料袋是入关的一些文件,无关紧要。
打开纸板箱包装,里面就是Leap Motion的包装盒。
打开盒子里面就3样东西,leap motion、连接线、leap的CEO的一封信。
这样一封信虽然是复印的,但是能拉近与用户的距离。这是国内一些产品应该学习。
Leap的靓照
leap的背面,有leap字样
最后是3样东西的合影
开发
坐标系统
动作绑定数据
Leap通过绑定视野范围内的手,手指或者工具来提供实时数据,这些数据多数是通过集合或者圳数据提供!每一帧都包含了一系列的基本绑定数据,比如手,手指或者工具的数据,当然,他也能实时的识别场景中的手势和自定义数据!
当设备检测到手、手指、工具或者是手势的话,设备会赋予它一个唯一的ID号码作为标记,只要这个实体不出设备的可视区域,这个ID号就会一直不变,如果设备丢失这个实体之后又出现了,Leap 就会赋予它一个新的ID号码,但是软件不会知道这个和以前的那个实体有什么关系。
注意:我们计划在发布给消费者能够提高为你程序提供的动画步骤的数据。在将来发布的SDK中,我们计划使用骨骼手指模型来提供更加详细的数据绑定和连续性的实时数据。
2.1 帧
A Frame object provides lists of the tracking data, gestures, and factors describing the overall motion observed in the Leap field of view.
一个Frame的对象提供了绑定数据,手势和元素的列表,这些数据用来描述设备视野内观察到整体的动作。
数据绑定列表
Hands——所有的手
Pointables——所有作为 Pointables的手指和工具
Fingers——所有的手指
Tools——所有的工具
Gestures——所有的手势包括开始、结束或者在进行中的
这三个 可指向物体的列表(可指向物体、手指、工具)包含每一个在每一种里被检测到的可指向的物体。你可以使用一个手来访问这些可指向的物体,这个手对象是通过Hands在手列表中的对象。需要注意的是:手指或者工具可能不会被手对象所关联,愿意是这些可指向的物体只有一部分在Leap的可视区域里面。
如果你绑定了一个单独的物体,比如一个手指头,每一帧中,你都可以通过ID和那个物体关联起来,并在新的帧里面找到它。使用以下的方法来找到相应的类型物体。
Frame.Hand()
Frame.Finger()
Frame.Tool()
Frame.Pointable()
Frame.Gesture()
这些方法函数返回相应的对象的引用,如果在当前的帧里面存在的话。如果这个对象不再存在了,一个特殊的无效对象就会被返回。无效对象被很好的定义供你使用,但是不存在有效的绑定数据。这项技术帮助我们减少了空对象检测的工作。
2.3 帧动画
Leap 能够分析在场景中较早的帧中的整体的动画,并且综合典型的移动旋转和缩放因素。比如,如果你将两只手同时向左移动,并保证在Leap的视野里面,在帧中包含了移动的信息。如果你弯曲你的手就像旋转一个球,在帧里面就包含旋转的信息。如果你移动两只手相对或者相向移动,那么在帧中就包含了缩放的信息。Leap设备对于动画的分析基于在视野中的所有物体,如果有一个手在其中的话,那么就会基于这一个手的因素来分析,如果两个手的话,分析动画就会基于两个手的因素。你也可以为每一个手获得独立的动画因素,需要从Hand对象里面获得。
帧动画的产生是通过当前的帧与更早的帧的比较获得的。描述动画合成的属性包括以下:
RotationAxis — 旋转轴的方向.
RotationAngle —顺时针旋转的角度
RotationMatrix — 描述旋转的矩阵.
ScaleFactor — 表达碰撞或者收缩的因素
Translation — 线性移动的因素
你可以直接添加动画因素来操作这些物体,而不需要绑定个人的数据。
手模型
这个 手模型 提供了被绑定的手的位置信息、特点以及运动方式。并且还包括了手指或者手上的工具的所有和手关联的东西的信息。
LeapAPI尽可能多的提供关于手的信息。但是,Leap不能够确定每一帧所有属性。比如当你的手突然攥成了拳头,这个时候,它上面的所有的手指是不能用了,手指的list就成了空。所以你的程序需要对这种情况做一个检测。
Leap设备不能确定某一个手是左手还是右手,多于两个手出现都可以放到list里面去,如果不止一个人将手放进来,或者有一个像手的物体。然而还是建议最多两个手来保证动作步骤的质量。